package com.xayy.health.mgt.model;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 趋势预测算法模型训练对象
 *
 * @author Nie
 * @version v1.0
 * @date 2022-05-11 11:44
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CalculateModelTrain {

    @ApiModelProperty(value = "模型名称")
    private String modelName;

    @ApiModelProperty(value = "模型类型")
    private Integer modelType;

    @ApiModelProperty(value = "算法名称")
    private String algorithmName;

    @ApiModelProperty(value = "卫星标识")
    private String satelliteMid;

    @ApiModelProperty(value = "卫星代号")
    private String satelliteCode;

    @ApiModelProperty(value = "参数代号")
    private String paramCode;

    @ApiModelProperty(value = "参数名称")
    private String paramCodeName;

    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    @ApiModelProperty(value = "故障开始时间")
    private Date faultStartTime;

    @ApiModelProperty(value = "故障结束时间")
    private Date faultEndTime;

    @ApiModelProperty(value = "预测多少个点")
    private Integer predNumber;

    @ApiModelProperty(value = "预测间隔")
    private Integer timeSpan;

    @ApiModelProperty(hidden = true)
    private List<String> paramCodes;

    @ApiModelProperty(value = "旧模型名称")
    private String oldModelName;

    @ApiModelProperty(value = "门限设置")
    private String threshold;

    private CalculateUpdateModelParam calculateUpdateModelParam;

    private List<AlgorithmParams> algorithmParamList;

}
